package com.tedu.review.day02;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;

/**
 *Java类---继承---方法：具备多态性
 * 实现父子类方法相互调用，注意：重写和重载
 * 实现多态：向上造型  父类对象 引用=new 子类对象();【创建对象：常见】
 */
class A1{
    public void tell1(){
        System.out.println("A ，你好，我是tell1");
    }
    public void tell2(){
        System.out.println("A ，你好，我是tell2");
    }
}
class B1 extends A1{
    public void tell2(){
        System.out.println("B ，你好，我是tell2");
    }
    public void tell3(){
        System.out.println("B ，你好，我是tell3");
    }
}
public class 多态造型问题 {
    public static void main(String[] args) {
        //继承---方法：方法互通  考虑：多态【造型上/下】
        //    B1 b1=new B1();
        //    A1 a1=b1;
        //    a1.tell1();
        //   a1.tell2();  //向上造型：调用父类的方法，没有实现方法的互通
                     //        如果有重写，子类会覆盖父类的方法
        //向下造型：
        A1 a1=new B1(); //①父类 引用=new 子类(); 先向上造型一次
        B1 b1=(B1)a1;   //②子类  引用=(子类对象)向上造型引用
        //实现：方法互通
        b1.tell1(); //父类方法
        b1.tell2(); //子类方法：重写
        b1.tell3(); //子类方法：

    }
}
